pm:main.o vg.o vt.o gameinit.o gamefunc.o gamelogi.o c_detect.o gameloop.o scores.o rtc_asm.o codepage.o menu.o rtc.o music.o kbc_init.o ints.o timer.o queue.o kbd_isr.o wait.o sprite.o t0_isr.o config.o GQueue.o mouseisr.o scancode.o
	gcc main.o vg.o vt.o gameinit.o gamefunc.o gamelogi.o c_detect.o gameloop.o scores.o rtc_asm.o codepage.o menu.o rtc.o music.o kbc_init.o ints.o timer.o queue.o kbd_isr.o wait.o sprite.o t0_isr.o config.o GQueue.o mouseisr.o scancode.o -o pm
	
main.o:main.c gamelogi.h config.h queue.h GQueue.h structs.h
	gcc -Wall -c main.c
	
gameinit.o:gameinit.h gameinit.c vg.h pixmap.h structs.h config.h
	gcc -Wall -c gameinit.c
	
gamefunc.o:gamefunc.h gamefunc.c c_detect.h kbc.h queue.h gameinit.h GQueue.h config.h ints.h structs.h vg.h
	gcc -Wall -c gamefunc.c
	
gamelogi.o:gamelogi.h gamelogi.c gameinit.h gameloop.h scores.h menu.h config.h vg.h
	gcc -Wall -c gamelogi.c
	
gameloop.o:gameloop.h gameloop.c gamefunc.h gameinit.h
	gcc -Wall -c gameloop.c
	
c_detect.o:c_detect.h c_detect.c utypes.h structs.h
	gcc -Wall -c c_detect.c
	
scores.o:scores.h scores.h vg.h structs.h config.h queue.h
	gcc -Wall -c scores.c
	
scancode.o: scancode.c scancode.h
	gcc -Wall -c scancode.c
	
vg.o: vg.c vg.h
	gcc -Wall -c vg.c
	
vt.o: vt.c vt.h
	gcc -Wall -c vt.c
	
menu.o: menu.h menu.c vt.h vg.h ints.h queue.h scancode.h config.h
	gcc -Wall -c menu.c

queue.o: queue.c queue.h utypes.h
	gcc -Wall -c queue.c

GQueue.o: GQueue.c GQueue.h utypes.h
	gcc -Wall -c GQueue.c
	
config.o: config.c config.h ints.h kbc.h vg.h GQueue.h scancode.h
	gcc -Wall -c config.c
	
ints.o: ints.c ints.h utypes.h
	gcc -Wall -c ints.c
	
timer.o: timer.c timer.h ints.h
	gcc -Wall -c timer.c
	
sprite.o: sprite.c sprite.h 
	gcc -Wall -c sprite.c
	
music.o: music.c music.h timer.h structs.h
	gcc -Wall -c music.c
	
rtc.o: rtc.c rtc.h utypes.h
	gcc -Wall -c rtc.c
	
codepage.o: codepage.c codepage.h
	gcc -Wall -c codepage.c
	
kbd_isr.o: kbd_isr.asm
	nasm -t -f coff kbd_isr.asm -o kbd_isr.o
	
wait.o: wait.asm
	nasm -t -f coff wait.asm -o wait.o
	
t0_isr.o: t0_isr.asm
	nasm -t -f coff t0_isr.asm -o t0_isr.o
	
mouseisr.o: mouseisr.asm
	nasm -t -f coff mouseisr.asm -o mouseisr.o
	
rtc_asm.o: rtc_asm.asm
	nasm -t -f coff rtc_asm.asm -o rtc_asm.o

kbc_init.o:
	cp kbc_init.oo kbc_init.o	

clean:
	rm *.o PM PM.EXE
	
cleanex:
	rm PM PM.exe PM.000
